package com.techsoul.module.order.pojo.param;

import java.math.BigDecimal;
import java.util.Date;

import com.techsoul.common.core.pojo.param.BaseSearchParam;
import io.swagger.annotations.ApiModelProperty;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * 采购订单明细 查询参数
 * 
 * @author liuen
 * @date 2022-08-10
 */
@Data
@EqualsAndHashCode(callSuper = true)
@Accessors(chain = true)
public class PurchaseOrderItemSearchParam extends BaseSearchParam {

    private Date estDeliveryTime;
    private Date estPickUpTime;
    private String materialId;
    @ApiModelProperty("轿运装车类型")
    private String vehicleLoadType;
    @ApiModelProperty("排放")
    private String paiFang;
    @ApiModelProperty("马力")
    private String enginePower;
    private String vinNo;

    private String chassisCertNumber;
    @ApiModelProperty("装货")
    private String pickUpWarehouseNo;
    @ApiModelProperty("卸货")
    private String dropOffWarehouseNo;
    @ApiModelProperty("中转")
    private String transitWarehouseNo;
    private String engineModel;

    private String engineNo;

    private String certificatesNo;

    private String manufactory;

    private String vehicleBrand;

    private String vehicleName;

    private String vehicleModel;

    private Date certificatesDate;
    private String departZone;

    private String destZone;
    /**
     * 记录 ID
     */
    private String id;
    @ApiModelProperty(value = "燃料类型")
    private String vehicleFueType;
    private String itemNo;

    /**
     * ref t_po_purchase_order
     */
    private String purchaseOrderId;

    private String purchaseOrderNo;

    /**
     * ref t_so_sales_order
     */
    private String salesOrderId;

    /**
     * 销售订单编号
     */
    private String salesOrderNo;

    private String materialNo;

    private String materialDesc;

    private String measUnit;

    private String cusotmerProductNo;

    private String cusotmerProducName;

    private BigDecimal orderQuantity;

    private BigDecimal diffQuantity;

    private BigDecimal salesQuantity;

    private Date demandDeliveryDate;

    private Date arrangedDeliveryDate;

    private Date promiseDeliveryDate;

    private Date arrangedFreightDate;

    private String priceCode;

    private String balanceCurrenctyNo;

    private BigDecimal unitPrice;

    private BigDecimal accountSum;

    private BigDecimal taxAccount;

    private BigDecimal cost;

    private BigDecimal discountSum;

    private BigDecimal discountRate;

    private BigDecimal addOnsDisccountRate;

    private BigDecimal orderDiscountSum;

    private BigDecimal valueAddedTax;

    private BigDecimal containTaxUnitPrice;

    private BigDecimal containTaxSum;

    private String deliveryType;

    private String deliveryAddress;

    private BigDecimal leadTime;

    private String noteText;

    private String supplierId;

    private Date productExpierDate;

    private String productBatchNumber;

    private String mappedYn;

    private Date requiredEffectedLength;

    private BigDecimal purchaseLineId;

    private BigDecimal remainQuantity;

    private String customerNo;

    private String customerName;

    private String warehouseInOrderNo;

    private String thisTimeShipped;

    private String consigneeId;

    private Date produceDate;

    private String status;

    /**
     * 备注
     */
    private String remark;

    /**
     * 是否有效，数据字典 yn_type，1 表示是，0 表示否，默认0
     */
    private String isValid;

    private String departure;


    private String contactName;
    private String destination;

    private String spec;
    private String shipbyQtyWeightOrPack;
    private String consigneePhone;
    private BigDecimal miles;
    private String skuCode;
    private String isHotYn;
    private String packing;
    private BigDecimal packQty;
    private BigDecimal weight;
    private BigDecimal volume;
    private String weightMeasUnit;
    private String volumeMeasUnit;
    private String pickUpAddress;
    private String isSelfRouteYn;
    private String orderSource;
    private String freightOrderTypeNo;
    private String serviceType;
    private String site;

}
